package com.pktechan.manage.vo;

import com.pktechan.manage.base.BaseEntity;

import java.util.Date;

public class WxPayOrderVO extends BaseEntity {
    /**
     * 支付ID
     */

    private Integer id;

    /**
     * 订单ID
     */
    private Integer tradeOrderId;

    /**
     * 商户支付订单号
     */
    private String outTradeNo;

    /**
     * 公众账号ID
     */
    private String appId;

    /**
     * 微信支付平台商户号
     */
    private String mchId;

    /**
     * 用户openid
     */
    private String openId;

    /**
     * 商品描述，对应统一下单参数的body
     */
    private String description;

    /**
     * 微信支付订单号
     */
    private String transactionId;

    /**
     * 订单金额，单位为分
     */
    private Integer totalFee;

    /**
     * 现金支付金额，单位为分
     */
    private Integer cashFee;

    /**
     * 交易类型。JSAPI-公众号支付 NATIVE-扫码支付 APP-APP支付
     */
    private String tradeType;

    /**
     * 付款银行 银行类型，采用字符串类型的银行标识
     */
    private String bankType;

    /**
     * 交易状态 INITIAL--初始状态 SUCCESS—支付成功 REFUND—转入退款 NOTPAY—未支付 CLOSED—已关闭 REVOKED—已撤销（刷卡支付）USERPAYING--用户支付中 PAYERROR--支付失败(其他原因，如银行返回失败)
     */
    private String tradeState;

    /**
     * 交易状态描述 对当前查询订单状态的描述和下一步操作的指引
     */
    private String tradeStateDesc;

    /**
     * 错误代码描述 结果信息描述
     */
    private String errCodeDesc;

    /**
     * 订单生成时间
     */
    private Date timeBegin;

    /**
     * 支付完成时间
     */
    private Date timeEnd;

    /**
     *  APP和网页支付提交用户端ip，Native支付填调用微信支付API的机器IP 123.12.12.123
     */
    private String spbillCreateIp;

    /**
     * 客户名称
     */
    private String name;

    /**
     * 统一下单接口返回的 prepay_id 参数值
     */
    private String prepayId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getTradeOrderId() {
        return tradeOrderId;
    }

    public void setTradeOrderId(Integer tradeOrderId) {
        this.tradeOrderId = tradeOrderId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }

    public String getOpenId() {
        return openId;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public Integer getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(Integer totalFee) {
        this.totalFee = totalFee;
    }

    public Integer getCashFee() {
        return cashFee;
    }

    public void setCashFee(Integer cashFee) {
        this.cashFee = cashFee;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getBankType() {
        return bankType;
    }

    public void setBankType(String bankType) {
        this.bankType = bankType;
    }

    public String getTradeState() {
        return tradeState;
    }

    public void setTradeState(String tradeState) {
        this.tradeState = tradeState;
    }

    public String getTradeStateDesc() {
        return tradeStateDesc;
    }

    public void setTradeStateDesc(String tradeStateDesc) {
        this.tradeStateDesc = tradeStateDesc;
    }

    public String getErrCodeDesc() {
        return errCodeDesc;
    }

    public void setErrCodeDesc(String errCodeDesc) {
        this.errCodeDesc = errCodeDesc;
    }

    public Date getTimeBegin() {
        return timeBegin;
    }

    public void setTimeBegin(Date timeBegin) {
        this.timeBegin = timeBegin;
    }

    public Date getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(Date timeEnd) {
        this.timeEnd = timeEnd;
    }

    public String getSpbillCreateIp() {
        return spbillCreateIp;
    }

    public void setSpbillCreateIp(String spbillCreateIp) {
        this.spbillCreateIp = spbillCreateIp;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPrepayId() {
        return prepayId;
    }

    public void setPrepayId(String prepayId) {
        this.prepayId = prepayId;
    }
}
